package com.zy.category.mapper;

import java.util.List;
import com.zy.category.domain.BookCategory;
import com.zy.category.domain.Book;

/**
 * 图书分类Mapper接口
 * 
 * @author ruoyi
 * @date 2025-05-29
 */
public interface BookCategoryMapper 
{
    /**
     * 查询图书分类
     * 
     * @param categoryId 图书分类主键
     * @return 图书分类
     */
    public BookCategory selectBookCategoryByCategoryId(Long categoryId);

    /**
     * 查询图书分类列表
     * 
     * @param bookCategory 图书分类
     * @return 图书分类集合
     */
    public List<BookCategory> selectBookCategoryList(BookCategory bookCategory);

    /**
     * 新增图书分类
     * 
     * @param bookCategory 图书分类
     * @return 结果
     */
    public int insertBookCategory(BookCategory bookCategory);

    /**
     * 修改图书分类
     * 
     * @param bookCategory 图书分类
     * @return 结果
     */
    public int updateBookCategory(BookCategory bookCategory);

    /**
     * 删除图书分类
     * 
     * @param categoryId 图书分类主键
     * @return 结果
     */
    public int deleteBookCategoryByCategoryId(Long categoryId);

    /**
     * 批量删除图书分类
     * 
     * @param categoryIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBookCategoryByCategoryIds(Long[] categoryIds);

    /**
     * 批量删除图书信息
     * 
     * @param categoryIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBookByCategoryIds(Long[] categoryIds);
    
    /**
     * 批量新增图书信息
     * 
     * @param bookList 图书信息列表
     * @return 结果
     */
    public int batchBook(List<Book> bookList);
    

    /**
     * 通过图书分类主键删除图书信息信息
     * 
     * @param categoryId 图书分类ID
     * @return 结果
     */
    public int deleteBookByCategoryId(Long categoryId);
}
